<template>
  <div class="toast" v-show="isShow">
    <span>{{ message }}</span>
  </div>
</template>

<script>
export default {
  name: 'Toast',
  props: {
    // TODO: 如果封装成插件的样子, 就不要组件传参了
    // message: {
    //   type: String,
    //   default: ''
    // },
    // show: {
    //   type: Boolean,
    //   default: false
    // }
  },
  components: {},
  data () {
    return {
      message: '',
      isShow: false
    }
  },
  methods: {
    // 封装显示函数
    show (message = '请输入提示信息', duration = 1500) {
      // 首先改变显示状态
      this.isShow = true
      // 传递提示信息
      this.message = message

      // 控制显示时间
      setTimeout(() => {
        this.isShow = false
        this.message = ''
      }, duration)
    }
  },
  watch: {}
}
</script>

<style lang="less" scoped>
.toast {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  padding: 8px 10px;
  border-radius: 10px;
  color: #fff;
  font-size: 16px;
  background-color: rgba(0, 0, 0, 0.75);
}
</style>
